//
//  TKIMLoginProtocol.h
//  TKIM
//  登录，注册，退出相关接口
//  Created by liupm on 15/11/24.
//  Copyright © 2015年 liupm. All rights reserved.
//
#import "TKIMNetHelper.h"

@protocol TKIMLoginProtocol <NSObject>

@optional

/**
 *  @Author lpm, 15-11-24 17:11:57
 *
 *  @brief  登录服务器
 *
 *  @param userName 用户名
 *  @param password 密码
 *  @param loginType    登录类型
 *
 *  @return
 */
-(void)loginWithUserName:(NSString *)userName password:(NSString *)password loginType:(NSString *)loginType;


/**
 *  @Author lpm, 15-09-17 11:09:04
 *
 *  @brief  登录服务器
 *
 *  @param userName 用户名
 *  @param password 密码
 */
-(void)loginWithUserName:(NSString *)userName password:(NSString *)password;


/**
 *  @Author lpm, 15-12-21 15:12:28
 *
 *  @brief  登录服务器
 *
 *  @param userName 用户名
 *  @param password 密码
 *  @param callBack 回调
 */
-(void)loginWithUserName:(NSString *)userName password:(NSString *)password callBack:(TKIMCallBack)callBack;


/**
 *  @Author lpm, 15-12-21 15:12:28
 *
 *  @brief  登录服务器
 *
 *  @param userName 用户名
 *  @param password 密码
 *  @param extParam 额外参数
 *  @param callBack 回调
 */
-(void)loginWithUserName:(NSString *)userName password:(NSString *)password extParam:(NSMutableDictionary *)extParam callBack:(TKIMCallBack)callBack;


/**
 *  @Author lpm, 15-11-06 09:11:26
 *
 *  @brief  注册用户
 *
 *  @param userName 用户名
 *  @param password 密码
 */
-(void)registerUser:(NSString *)userName password:(NSString *)password;


/**
 *  @Author lpm, 15-11-06 09:11:26
 *
 *  @brief  注册用户
 *
 *  @param userName 用户名
 *  @param password 密码
 */
-(void)registerUser:(NSString *)userName password:(NSString *)password callBack:(TKIMCallBack)callBack;


/**
 *  @Author lpm, 15-10-30 11:10:17
 *
 *  @brief  退出登录
 */
-(void)loginOut;


/**
 *  @Author lpm, 15-10-30 11:10:17
 *
 *  @brief  退出登录
 */
-(void)loginOut:(TKIMCallBack)callBack;


/**
 *  @Author lpm, 15-09-17 11:09:01
 *
 *  @brief  改变用户在线状态
 */
-(void)switchOnlineState:(TKIMOnlineState) state;


@end